    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public Object[] queryNativoResult(String sqlQuery, List<Object> parametros) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public Object[] queryNativoResult(String sqlQuery, HashMap<Integer, Object> parametros) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public List<Object[]> queryNativo(String sqlQuery, HashMap<Integer, Object> parametros);

    public List<Object[]> queryNativo(String sqlQuery, HashMap<Integer, Object> parametros, int primerResultado, int maximoResultado);

    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public <T> T queryNativoResult(String sqlQuery, HashMap<Integer, Object> parametros, Class<T> claseResultado) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public <T> List<T> queryNativo(String sqlQuery, HashMap<Integer, Object> parametros, Class<T> claseResultado);

    public <T> List<T> queryNativo(String sqlQuery, HashMap<Integer, Object> parametros, Class<T> claseResultado, int primerResultado, int maximoResultado);

    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public Object[] queryNativoNombradoResult(String nombreQuery, List<Object> parametros) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public Object[] queryNativoNombradoResult(String nombreQuery, HashMap<Integer, Object> parametros) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public List<Object[]> queryNativoNombrado(String nombreQuery, HashMap<Integer, Object> parametros);

    public List<Object[]> queryNativoNombrado(String nombreQuery, HashMap<Integer, Object> parametros, int primerResultado, int maximoResultado);

    public void queryNativoNombradoUpdate(String nombreQuery, HashMap<Integer, Object> parametros);

    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public <T> T queryNativoNombradoResult(String nombreQuery, HashMap<Integer, Object> parametros, Class<T> resultClass) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public <T> List<T> queryNativoNombrado(String nombreQuery, HashMap<Integer, Object> parametros, Class<T> resultClass);

    public <T> List<T> queryNativoNombrado(String nombreQuery, HashMap<Integer, Object> parametros, Class<T> resultClass, int primerResultado, int maximoResultado);

    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public <T> T procedimientoAlmacenado(String nombreProcedimiento, HashMap<String, Object> parametros, Class<T> resultClass);
    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/

    public <T> T queryNombradoResult(String nombreQuery, HashMap<String, Object> parametros, Class<T> resultClass) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public <T> List<T> queryNombrado(String nombreQuery, HashMap<String, Object> parametros, Class<T> resultClass);

    public <T> List<T> queryNombrado(String nombreQuery, HashMap<String, Object> parametros);

    public <T> List<T> queryNombrado(String nombreQuery, HashMap<String, Object> parametros, int firtsResult, int maxResult);

    public <T> List<T> queryNombrado(String nombreQuery, HashMap<String, Object> parametros, Class<T> resultClass, int firtsResult, int maxResult);
    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/

    public <T> T jpqlResult(String jpqlQuery, HashMap<String, Object> parametros, Class<T> resultClass) throws ExcepcionEntidadNoEncontrada, ExcepcionEntidadNoUnica;

    public <T> List<T> jpqlQuery(String jpqlQuery, HashMap<String, Object> parametros);

    public <T> List<T> jpqlQuery(String jpqlQuery, HashMap<String, Object> parametros, int firtsResult, int maxResult);

    public <T> List<T> jpqlQuery(String jpqlQuery, HashMap<String, Object> parametros, Class<T> resultClass);

    public <T> List<T> jpqlQuery(String jpqlQuery, HashMap<String, Object> parametros, Class<T> resultClass, int firtsResult, int maxResult);

    /* ------------------------------------------------------------------------------------------------------------------------------------------------*/
    public <T> Query setParametrosQuery(Query query, List<Object> parametros);

    public <T> Query setParametrosQuery(Query query, HashMap<?, Object> parametros);

    public <T> Query setParametrosQuery(Query query, HashMap<?, Object> parametros, int firtsResult, int maxResult);

    public <T> TypedQuery<T> setParametrosTypedQuery(TypedQuery<T> query, List<Object> parametros);

    public <T> TypedQuery<T> setParametrosTypedQuery(TypedQuery<T> query, HashMap<?, Object> parametros);

    public <T> TypedQuery<T> setParametrosTypedQuery(TypedQuery<T> query, HashMap<?, Object> parametros, int firtsResult, int maxResult);

    public EntityManager getEntityManager();
